Digital signal processing is used in a wide variety of applications. Many of these applications are real-time in the sense that the time constraints exist on the processing of the data in order for it to be meaningful or useful to an end user. An example of this is digital broadcast streams, such as digital television and digital radio. The digital signal processing system needs to be capable of processing and decoding the real-time streams rapidly enough to enable the data to be output as quickly as it is received (barring buffering).
Digital signal processing systems often utilise one or more dedicated hardware peripherals in addition to more general purpose digital signal processors. The hardware peripherals are processing blocks that are designed to perform a specific signal processing task (e.g. a particular type of error correction) in a rapid and efficient manner. A digital signal processing system can directly connect (i.e. hardwire) the hardware peripherals together in a defined sequence in order to meet the needs of a particular type of real-time data.
However, the requirements of different types of real-time data can vary significantly. For example, the various different digital television and radio standards used around the world often have the real-time data structured differently, e.g. using different types or parameters for coding, interleaving, equalisation etc. Therefore, if dedicated inter-connected hardware peripherals are used, then a different digital signal processing system needs to be constructed for each type of real-time data.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known digital signal processing systems.